home *** CD-ROM | disk | FTP | other *** search
- 3 Dimensional Variables
-
- AnalytiCalc will partially support treating its worksheet as a
- 3 dimensional volume in which variable names can be specified as
- existing on a particular "page" of the sheet by adding %nnn or
- %c to the cell name. In this case, a trailing number will treat
- the variable as being on page nnn. Pages start at page zero (0)
- and go up. An accumulator letter can be used instead of a number
- if computable page addresses are needed. Thus a valid cell might
- be
- B12%3
- Column 2 (B) row 12 in page 3
- P#2#5%2
- Cell 2 columns right and 5 rows down from current cell,
- in page 2
- C12%D
- Column 3 (C) row 12 in the page pointed at by contents
- of accumulator D (so that if D contains 2, it
- will be in page 2).
-
- These pages are actually aliases for areas of the spreadsheet,
- so that you get from one page to the next by adding ROWDELT to
- the row number and COLDELT to the column number. (The address
- wrapping mentioned in the AnalytiCalc manual takes place
- subsequently.) Thus, if ROWDELT is 100 and COLDELT is 0,
- you get to page 1 from page 0 by going down 100 rows.
- This behavior is controlled by commands:
-
- MDDc,r Disables all this functionality. 3D form cell names will
- not be recognized and things will look like it does not
- exist. The c,r allows specification of COLDELT and ROWDELT
- optionally however.
- MDNc,r Turns off 3D functionality, but 3D cell names will be
- understood and treated as legal if seen. Relocated cell
- names will be handled as non-3D cells and the display
- will show the "normal" (huge 2D) surface. (No 3D)
- This is the default startup mode.
- MDEc,r Turns 3D functionality ON (Enable) but still will treat
- cell names as 2D forms when relocated.
- MDFc,r Turns on 3D functionality and FORCES it. Thus, cells
- whose addresses are in pages higher than 0 will be
- translated on relocation to paged forms.
-
- When sheets are saved, unless MDD mode is turned on a record
- of the current COLDELT and ROWDELT values (set in the MD commands
- above and defaulting to 0 at startup) will be saved so that
- these settings can be restored on spreadsheet load. If MDD
- mode is on the record is neither saved nor recognized on load.
- Note that MDF mode forces 3D forms in relocation so that GPR
- commands (which relocate cells on load) will transform them to
- 3D. In MDN mode the cells would be translated to 2D forms on a
- GPR load.
-
- Ranges in depth can be used like ranges in rows or columns,
- BUT the cell names must be separated by } instead of : to get
- this to work. This flags that the range is a page range.
-
- Thus a depth range would be specified by something like
- C4%2}C4%6
- to specify the C4 cell of pages 2 through 6 inclusive.
-
- This is done differently from specifying simply C4%2:C4%6
- because these cells are also aliased to other areas of the
- sheet. In particular, suppose one has executed the command
-
- MDF0,5
-
- so that pages are 5 rows long and have no column offset.
-
- Now cell C1%0 is just cell C1 (as always). But cell C1%1 is
- also cell C6 (5 rows down), and cell C1%2 is cell C11 (10 rows
- down), and cell C1%3 is cell C16 (15 rows down). (These are
- IN THIS EXAMPLE!)
-
- Now if one were to have a range C1%1:C1%3, and if the range
- symbol were the same, this could mean either a range that
- includes C1%1, C1%2, and C1%3 only, or one that includes all
- the cells from C1%1 (same as C6) to C1%3 (same as C16), so
- it would be equivalent to C6:C16. You are free to intermix
- addressing styles in general, which causes the ambiguity.
- Therefore for page ranges, you MUST use the page style
- addresses and you MUST ALSO use the } symbol to indicate
- that this is a page range, not a row or column range. Therefore
- the page range that includes C1%1 to C1%3 is expressed
- C1%1}C1%3
- and is unambiguous.
-
- Note that using aliases in page ranges will either not work
- or will give bogus results. Also, page ranges must be exactly
- aligned. That is, a range like C1%1}D1%3 would be illegal, and
- would be treated as meaning C1%1}C1%3 instead.
-
- It is not expected that these restrictions will be much of
- a problem in actual use. The display is necessarily (with 1990's
- technology, anyway) two dimensional, so some anisotropy in
- handling a higher dimensional object is to be expected. If you
- choose to think of the sheet in terms of a sheaf of pages, you
- will ordinarily use page addresses in ranges. These work in functions
- and in copy commands.
-
-
- MAPPING to Screen
-
- You can map the pages to screen if desired in either of two
- modes, allowing inspection of the pages juxtaposed as desired.
- This is done with modifications of the OA and OR (Origin Absolute
- and Origin Relative) commands, which remap the whole screen (OA) or
- the part of the screen down and right from the cursor. The commands
- are:
-
- OAMR or ORMR - Map depth by rows
-
- This command resets the mapping so that each lower row on the
- screen represents a row from the next lower page of the spreadsheet.
- The starting cell given in the command determines the first row's
- coordinates.
- The mapping resulting from a command OAMR A1 would then look
- something like this:
-
- A1 B1 C1 D1
- A1%1 B1%1 C1%1 D1%1
- A1%2 B1%2 C1%2 D1%2
- A1%3 B1%3 C1%3 D1%3
-
- so that each row is one page deeper in the physical sheet.
-
- OAMC or ORMC - Map depth by columns
-
- This command resets the mapping so that each column further
- to the right represents a column from the next lower page of the
- spreadsheet. As before the starting cell determines the first row's
- coordinates.
-
- The mapping resulting from a command OAMC A1 would then look
- something like this:
-
- A1 A1%1 A1%2 A1%3
- A2 A2%2 A2%2 A2%3
- A3 A3%1 A3%2 A3%3
- A4 A4%1 A4%2 A4%3
-
- If these commands are followed by a D command, the system will
- attempt to preserve such existing mappings as exist to the extent
- possible, so that, for example, if the first column in the
- OAMC A1 example above were A1,A2,B5,B6, the relative mappings
- would be preserved. Pre-existing mappings in the horizontal
- dimension in that case would however be lost.
-
- It should be observed that auto screen remapping for scrolling
- purposes should probably be disabled while using such mappings as these
- (just use the NS command) so that they will not be totally replaced
- every time your cursor ventures too far. You can define keypad commands
- to move around if you like.
-
- Glenn Everhart
- 3/22/1990
-
- Last minute addition:
- The VE commnd works like the V command, but does not repaint the
- screen. Instead it just undoes the effect of a VM command. It is
- for use in command files.
- This makes V25-01B of AnalytiCalc.
-